'''
多环境下的接口测试：
在请求之前，对请求的url进行替换
1.需要二次封装requests，对请求进行定制化。
2.将请求的结构体的url从一个写死的ip地址改为一个（任意的）域名。
3.使用一个env配置文件，存放各个环境的配置信息。
4.然后将请求结构体中的url替换‘env’配置文件中个人选择的url。
5.将env配置文件使用yaml进行管理
'''
import requests
import yaml


class Api:
    # 从yaml文件读取测试数据
    env = yaml.safe_load(open("env.yaml"))

    # 二次封装requests
    # data是一个请求的信息
    def send(self,data:dict):
        #替换域名将testing-studio替换为127.0.0.1：转为字符串然后替换
        #参数化 想要访问的域名

        data["url"] = str(data["url"]).replace("testing-studio",self.env["testing-studio"][self.env["default"]])

        r = requests.request(method=data["method"],url=data["url"],headers=data["headers"])
        return r